package com.saep.persistencia;

import com.saep.modelo.Tipopractica;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

/**
 *
 * @author Estudiante
 */
@Stateless
public class TipoPracticaDAO implements ITipoPracticaDAO {

    @PersistenceContext
    private EntityManager CRUD;

    @Override
    public void registrar(Tipopractica tipopractica) {
        try {
            CRUD.persist(tipopractica);
        } catch (Exception e) {
            throw e;
        }
    }

    @Override
    public void modificar(Tipopractica tipopractica) {
        try {
            CRUD.merge(tipopractica);
        } catch (Exception e) {
            throw e;
        }
    }

    @Override
    public void eliminar(Tipopractica tipopractica) {
        try {
            CRUD.remove(tipopractica);
        } catch (Exception e) {
            throw e;
        }
    }

    @Override
    public List<Tipopractica> consultarPorTipos() {
        try {
            String jpql = "Select t from Tipopractica t";
            Query query = CRUD.createQuery(jpql);
            return query.getResultList();
        } catch (Exception e) {
            throw e;
        }
    }

    @Override
    public Tipopractica consultarporCodigo(Integer codigoTipoPractica) {
        try {
            return CRUD.find(Tipopractica.class, codigoTipoPractica);
        } catch (RuntimeException e) {
            throw e;
        }
    }

}
